package org.dochandler.service.core;

import java.util.List;

import org.dochandler.dao.MissionApprovalDAO;
import org.dochandler.service.MissionApprovalService;
import org.dochandler.service.domain.Criteria;
import org.dochandler.service.domain.annotation.ApplyMissionApprovePolicy;
import org.dochandler.service.domain.mission.MissionApproval;
import org.dochandler.service.domain.mission.MissionRequest;
import org.esfinge.guardian.utils.ServiceLocator;

public class MissionApprovalServiceCore implements MissionApprovalService {
	private MissionApprovalDAO missionApprovalDAO;
	
	public MissionApprovalServiceCore() {
		setMissionApprovalDAO( ServiceLocator.getServiceImplementation( MissionApprovalDAO.class ));
	}
	
	@Override
	public Boolean create(MissionApproval document) {
		return null;
	}

	@Override
	public MissionApproval read(Long documentId) {
		return null;
	}

	@Override
	public Boolean delete(Long documentId) {
		return null;
	}

	@Override
	public Boolean edit(MissionApproval document) {
		return null;
	}

	@Override
	public List<MissionApproval> listAll() {
		return null;
	}

	@Override
	public List<MissionApproval> listByCriteria(Criteria<?> criteria) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	@ApplyMissionApprovePolicy
	public MissionApproval approveMission(MissionRequest request) {
		return new MissionApproval(request);
	}

	@Override
	public Boolean isMissionApproved(Long missionId) {
		return null;
	}
	
	
	/*
	 * SETTERS AND GETTERS
	 */

	public MissionApprovalDAO getMissionApprovalDAO() {
		return missionApprovalDAO;
	}

	public void setMissionApprovalDAO(MissionApprovalDAO missionApprovalDAO) {
		this.missionApprovalDAO = missionApprovalDAO;
	}
	
}
